package task6;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

/**
 * Create by IntelliJ IDEA
 *
 * @author: jsonor
 * @date-Time: 2018/5/4 10:19
 * @description:
 */
public class CharCode {
     /*   1、手动操作：d盘新建a.txt文件,写入几个中文（可以查看默认是ANSI编码,
          在简体中文Windows操作系统中， ANSI 编码代表 GBK 编码），
      *   2、用Java代码实现文件拷贝（将d盘a.txt文件拷贝到当前目录），会出现乱码,
      *   3、利用转换流可以解决乱码问题*/
     public static void main(String[] args) throws Exception{
       /*1、D盘的a.txt是GBK编码，用转换流（指定GBK编码）
         2、再使用字符缓冲流 一次读写一行文本
        */
       //创建转换流对象，参数：字节流对象，编码格式
       InputStreamReader isr=new InputStreamReader(new FileInputStream("d:\\a.txt"),"gbk");
       OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("whf.txt"),"utf-8");
       //利用字符缓冲流实现一次读写一行文本
       BufferedReader br=new BufferedReader(isr);
       BufferedWriter bw=new BufferedWriter(osw);
       String line=null;
       while ((line=br.readLine())!=null){
         bw.write(line);
         bw.newLine();
       }
       br.close();
       bw.close();
       isr.close();
       osw.close();
     }

}
